//
//  LZTopicPictureView.m
//  LZHundredJie
//
//  Created by apple on 16/4/15.
//  Copyright © 2016年 m14a.cn. All rights reserved.
//

#import "LZTopicPictureView.h"
#import "LZTopic.h"
#import "LZSeeBigPictureViewController.h"

@interface LZTopicPictureView ()

@property (weak, nonatomic) IBOutlet UIButton *seeBigPictureButton;
@property (weak, nonatomic) IBOutlet UIImageView *gifView;
@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@end

@implementation LZTopicPictureView

- (void)awakeFromNib
{
    // 取消自动伸缩
    self.autoresizingMask = UIViewAutoresizingNone;
    
    self.imageView.userInteractionEnabled = YES;
    [self.imageView addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(seeBigPicture)]];
}

/**
 *  查看大图
 */
// 这里把查看大图按钮的和用户交互给禁止调了,因为给后面的图片添加了手势,
// 这样点击整个图片区域都可以监听手势了,都会跳转界面
- (void)seeBigPicture
{
    LZSeeBigPictureViewController *seeBigVC = [[LZSeeBigPictureViewController alloc] init];
    // 顺传
    seeBigVC.topic = self.topic;
    // modal出来一个控制器
    [self.window.rootViewController presentViewController:seeBigVC animated:YES completion:nil];
}

- (void)setTopic:(LZTopic *)topic
{
    _topic = topic;
    
    [self.imageView xmg_setImageWithOriginalImageURL:topic.image1 thumbnailImageURL:topic.image0 completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { // 下载完成之后做的事情
        
        // 1.如果图片为nil,下载失败
        if (image == nil) return ;
        if (!topic.isBigPicture) return; // 不是长图
        
        // 能来到下面,说明是大图,那么到底是显示原图或者是显示缩略图呢
        // 这就得依据现在用户手机的状态是WIFI还是3G/4G状态
        // xmg_setImageWithOriginalImageURL:这个方法,已经给我们自动判断了
        // 所以,image可能是原图或者是缩略图,那么它的大小
        
        // 2.开启图形上下文
        CGFloat width = topic.middleF.size.width;
        CGFloat height = topic.middleF.size.height;
        UIGraphicsBeginImageContext(CGSizeMake(width, height));
        
        // 3.拿新的图片,image.size.height, image.size.width
        // 这里为什么不能用image,因为image不是固定的
        // 这个image的尺寸等比例大小和缩略图,有时候是一样的
        // 根据网络的状态,可能是原图,可能是缩略图，那么大小就不一样了
        
        CGFloat imageH = width * topic.height / topic.width;
//        LZLog(@"love=%f,%f", image.size.height, image.size.width)
//        LZLog(@"haha=%f,%f", topic.height, topic.width)
        
        [image drawInRect:CGRectMake(0, 0, width, imageH)];
        
        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
        
        // 4.关闭图形上下文
        UIGraphicsEndImageContext();
        
        self.imageView.image = newImage;
        
    }];
    
    // 是否隐藏gifView,是gif的时候就不隐藏
    self.gifView.hidden = !topic.is_gif;
    
    /*
//    if (topic.isBigPicture) {   // 是大的图片
//        self.seeBigPictureButton.hidden = NO;   // 不隐藏
//    } else {    // 是小的图片
//        self.seeBigPictureButton.hidden = YES;  //  隐藏
    //    }
    */
    // 查看大图
    self.seeBigPictureButton.hidden = !topic.isBigPicture;
}

@end
